热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

漫画|单元测试实在是太可怕了!

周一刚上班,会议室就传来了经理老梁的咆哮。张大胖和何小痩赶紧分析原因许久都没人敢发言。老梁打开了电脑,决定给程序员上一课。新版本的开发又开始了。张大胖无

周一刚上班,会议室就传来了经理老梁的咆哮。

e721aec79b3be26b9ba87977b34d2bf6.png

张大胖和何小痩赶紧分析原因

9efad8104239343642d9414a14f27d0b.png

716c6e4b529a99f84c63040d9bb00f01.png

许久都没人敢发言。

老梁打开了电脑,决定给程序员上一课。

2262a83db3efeba9bbbbdad8d85074d2.png

7a17c553a143fa18f969f5c2585003b8.png

3ab1b545bd594672c89ce1994fe8c840.png

新版本的开发又开始了。

60426dcc2feccd6a89def8f76d87f947.png

c35751e713b361a57c5016b86106dc44.png

5ef9408f1ba245f97cb89be4a2cedbe4.png

张大胖无奈,只好加班写单元测试用例

3969594d754ab9e66d286a6728860057.png

过了两天,老梁又来找张大胖了

486cf24d176edeb71efdb76e6e1206e1.png

既然如此,张大胖也没有心情再认真地写测试了。

5c3ed8d5aa11d865912cc7fcc2e475ae.png

cad02fce6da2625439cc9f5ba994cf44.png

4d755c56141c427023ecb00a0830e177.png

无可奈何的何小痩,也开始应付起来

21363025fee636cb8dc3b1d7ba149677.png

大家热火朝天地写单元测试,只有小崔是例外。

23f0337ef70fcfcb23a9b9bec70c9a40.png

37057d513c7998318d902fd48c19aeba.png

145edd1cdac949c232c3846a63ab11c0.png

小崔很快就学会了张大胖的做法......

a88ea7271ac674f4d0aeb904e8c2b893.png

有一天,何小痩的代码居然让张大胖的单元测试失败了。

ba9e53e25b19153b4b604aec8461dd70.png

d135970e232c116ae86615947814a214.png

9a91628be7e5a35edcb9be48b27cf139.png

53a10c88a377453e44a32d92bab1d272.png

在大家的努力下,经理终于看到了漂亮的报表。

ca3f9da200b30d27788ded5611dd6474.png

新版本上线了,没想到Bug数比上个版本只多不少,老梁傻眼了。

9c4518a006150b72c1cec51ebab553ac.png

c3d79a449249fda806f21c40462808ca.png

单元测试是好东西吗?当然是!

但是在实施单元测试的时候,真正地重视起来,循序渐进地执行了吗?

有没有给程序员留足时间?

人员的培训是否到位?观念是不是统一了?

能不能不赶进度?

需求能不能稳定下来?

对于那些难以写测试的地方,有没有总结出最佳实践?

......

在把这些问题解决之前,就开始大干快上,采用运动式的方式做单元测试,注定是要失败的。

3ebf76642f14585918998de0fd2e21a1.png

98a612f02d1acc2fe855bb2ce60a8b4f.png

fa2169751d9c4dd68b6a46848ec1d419.png

6c0a03ad8e48dd3bfeaf6584ea9028e3.png

点击下方图片,查看更多精彩

f94a9676b99f0459b4a5a7af2c415e2e.png

39e83bf8e7c958672dd53f2e4978d464.png

bd46e310ed43c059f4eca7a06e99dd92.png

2fb7b412074adcf91773ff0970939ad6.png

35f8e5ded710ea73dc8be38148045461.png


推荐阅读
  • 深入理解C++中的KMP算法:高效字符串匹配的利器
    本文详细介绍C++中实现KMP算法的方法,探讨其在字符串匹配问题上的优势。通过对比暴力匹配(BF)算法,展示KMP算法如何利用前缀表优化匹配过程,显著提升效率。 ... [详细]
  • Python 异步编程:深入理解 asyncio 库(上)
    本文介绍了 Python 3.4 版本引入的标准库 asyncio,该库为异步 IO 提供了强大的支持。我们将探讨为什么需要 asyncio,以及它如何简化并发编程的复杂性,并详细介绍其核心概念和使用方法。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 本文探讨了卷积神经网络(CNN)中感受野的概念及其与锚框(anchor box)的关系。感受野定义了特征图上每个像素点对应的输入图像区域大小,而锚框则是在每个像素中心生成的多个不同尺寸和宽高比的边界框。两者在目标检测任务中起到关键作用。 ... [详细]
  • 本文介绍如何通过注册表编辑器自定义和优化Windows文件右键菜单,包括删除不需要的菜单项、添加绿色版或非安装版软件以及将特定应用程序(如Sublime Text)添加到右键菜单中。 ... [详细]
  • 如何高效创建和使用字体图标
    在Web和移动开发中,为什么选择字体图标?主要原因是其卓越的性能,可以显著减少HTTP请求并优化页面加载速度。本文详细介绍了从设计到应用的字体图标制作流程,并提供了专业建议。 ... [详细]
  • 苹果新专利或将引领无边框手机时代
    苹果公司最近公布了一项新的专利技术,该技术能够在设备屏幕中嵌入光线传感器,这标志着苹果在实现无边框手机设计上迈出了重要一步。这一创新将极大提升手机的屏占比,并可能为未来的iPhone带来革命性的变化。 ... [详细]
  • 本文介绍如何使用 Python 提取和替换 .docx 文件中的图片。.docx 文件本质上是压缩文件,通过解压可以访问其中的图片资源。此外,我们还将探讨使用第三方库 docx 的方法来简化这一过程。 ... [详细]
  • RT,个人博客图片管理(方便管理,大家 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • 从零开始构建完整手机站:Vue CLI 3 实战指南(第一部分)
    本系列教程将引导您使用 Vue CLI 3 构建一个功能齐全的移动应用。我们将深入探讨项目中涉及的每一个知识点,并确保这些内容与实际工作中的需求紧密结合。 ... [详细]
  • 帝国CMS多图上传插件详解及使用指南
    本文介绍了一款用于帝国CMS的多图上传插件,该插件通过Flash技术实现批量图片上传功能,显著提升了多图上传效率。文章详细说明了插件的安装、配置和使用方法。 ... [详细]
  • PHP 5.5.0rc1 发布:深入解析 Zend OPcache
    2013年5月9日,PHP官方发布了PHP 5.5.0rc1和PHP 5.4.15正式版,这两个版本均支持64位环境。本文将详细介绍Zend OPcache的功能及其在Windows环境下的配置与测试。 ... [详细]
author-avatar
邱walz_297
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有